1. Field of the Invention
This invention relates, in general, to the field of microprocessor serial communications and, more particularly, to an improved interface between an asynchronous serial port and an IEEE 1496 SBus, including support for infrared data transmission and reception.
2. Background
In the development of more powerful personal computers and workstations it has become increasingly important to be able to efficiently process information within a computer at the same time that data is being received into or transmitted out of the computer across a serial data line. When typical maximum serial transmission speeds encountered were relatively slow (i.e. 1200 baud), even moderately efficient central processing units (CPU's) were capable of processing incoming serial data without such tasks presenting significant overhead to the CPU. However, as typical serial transmission speeds have increased (i.e. 14.4k baud to 115k baud and higher), the processing of such incoming serial data has required the dedication of even greater system resources. In many systems it has reached a point where incoming information may be lost as the incoming serial data stream can not be processed quickly enough.
One solution to the above noted problem has been to incorporate control signals within the serial communications circuitry in order to allow the CPU to signal when it is capable of processing an incoming serial data stream, thereby turning on and off the actual reception of an incoming serial data stream. Unfortunately, such a technique is less than optimal since, by restricting the reception of data, effective throughput of the entire communications chain is reduced. In addition, even with such basic flow control, under certain timing considerations incoming information may still be lost as the CPU is unable to properly halt the flow of incoming data in a timely manner.
Another solution to the above noted problem has been the development of specialized serial communications circuits known as UART's (Universal Asynchronous Receiver Transmitter) which incorporate a small internal buffer for buffering, for example, 16 bytes of data. Unfortunately, this solution suffers from two additional deficiencies. First, since the internal buffer included in these buffered UART's is so small, it is still necessary to occasionally turn off the flow of data completely so as to avoid a data overrun. Second, since the buffering is done within the UART itself, control over the buffering process is removed from the system's CPU, thereby decreasing overall flexibility in the processing of incoming data.
In addition to the above noted limitations found in present serial communications circuits, another concern to the designers of modern serial communications systems is that while information is traditionally received into a computer system over a hard wired connection (such as a fiber optic or copper cable), the development of Personal Information Managers (PIM's) and other handheld or otherwise portable computers has also seen the development of wireless connections between terminals and computers. Unfortunately, no standard has yet emerged for wireless data transfer, so along with each PIM there has also developed a unique wireless, and often incompatible, infra-red data transmission and reception scheme. Two such systems currently in use is one developed by the Hewlett-Packard company for use on their `palmtop` computer, the 95LX and 100LX, and one developed by the Sharp Corporation for use in their PIM and the Apple Newton. As noted, these systems are incompatible with each other and, in fact, although they are both based on IR transmission and reception technology, are also incompatible with the traditional IR remote controls often found in the home or office for the control of audio and video equipment.
Therefore, it has been determined that the need exists for an improved asynchronous serial control circuit which overcomes the limitations of the prior art through the improved handling of high speed serial i/o without increasing the processing overhead required by the main CPU, while in addition being able to handle serial communications from multiple, and incompatible, infra-red data transmission standards.